//
// File:	IGuiManager.hpp
// Author:	Thomas TISSOT-DUPONT
// Login:	<thomas.tissotdupont@free.fr>
//
// Create:	28/01/2010 at 18:28:15
// Purpose:	
//
#ifndef IGUIMANAGER_HPP
#define IGUIMANAGER_HPP

#include <string>
#include "IGuiPanel.hpp"

//------------------------------------------------------------------
// Dependencies Interfaces
//------------------------------------------------------------------
class IGuiPanel;

//------------------------------------------------------------------
// GuiManager Interface
//------------------------------------------------------------------
class IGuiManager
{
public:
	virtual									~IGuiManager() {}

public:
	virtual bool							Init(bool) = 0;

public:
	virtual bool							AddPanel(const std::string &, IGuiPanel *) = 0;
	virtual IGuiPanel						*RemovePanel(const std::string &) = 0;
	virtual IGuiPanel						*FindPanel(const std::string &) = 0;
	virtual bool							ShowPanel(const std::string &) = 0;
	virtual void							SetVisible(bool) = 0;
	virtual bool							IsVisible() const = 0;
	virtual IGuiPanel						*GetCurrentPanel() const = 0;
};

#endif //!IGUIMANAGER_HPP
